package com.qf.lanzhou.shop.api.dao;

import com.qf.lanzhou.shop.pojo.entity.ReceivingAddress;
import com.qf.lanzhou.shop.pojo.entity.User;

import java.util.List;

/**
 * @author jack
 * 收货地址信息
 */
public interface ReceivingAddressMapper {
    /**
     * 插入一条收货信息
     *
     * @param address 收货地址参数类
     * @return 受影响行数
     */
    int insertAddress(ReceivingAddress address);

    /**
     * 修改收货地址
     *
     * @param address 收货地址参数类
     * @return 受影响行数
     */
    int updateAddress(ReceivingAddress address);

    /**
     * 通过用户ID删除改用户的收货信息
     *
     * @param userId 用户ID
     * @return 受影响行数
     */
    int deleteAddressByUserId(Long userId);

    /**
     * 通过用户ID查询到该用户的全部收货地址
     *
     * @param userId
     * @return
     */
    List<ReceivingAddress> selectAddress(Long userId);

    /**
     * 用户原本的地址取消默认
     * @param userId
     * @return
     */
    int stateForZero(Long userId);
    /**
     * 地址选为默认
     * @param id
     * @return
     */
    int stateForOne(Long id);

    /**
     * 获取一条收货信息通过收货地址ID
     * @param id
     * @return
     */
    ReceivingAddress selectByAddressId(Long id);

    /**
     * 获取用户默认地址
     * @param id
     * @return
     */
    ReceivingAddress selectUserDefaultAddress(Long id);

}
